for _ in range(int(input())):
s = input()
zero = 0
one = len(s)
for i in range(len(s)-1):
if s[i]==s[i+1] and s[i]=="1":
one = i+1
break
for i in range(1,len(s)):
if s[-i]==s[-(i+1)] and s[-i]=="0":
zero = len(s)-i
break
if zero>one:
print("No")
else:
print("Yes")
//code here
#include <iostream>
#include <string>
using ll = long long;
void solve() {
std::string s;
std::cin >> s;
int one = 0;
int zero = 0;
bool flag = 0;
for (int i = 0; i < s.length(); i++) {
if (s[i] == '1') {
if (!flag) {
if (zero) one = 1;
else one++;
}
else {
one++;
}
zero = 0;
}
else {
zero++;
if (one >= 2) {
if (zero >= 2) {
puts("No");
return;
}
else {
flag = 1;
}
}
}
}
puts("Yes");
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int T;
std::cin>>T;
while (T--) {
solve();
}
return 0;
}
/**
* @file :b.cpp
* @brief :contest
* @author :fakesheep
* @version :V1.0.0
* @date :2023-03-16
*/
435. Non-overlapping Intervals | 406. Queue Reconstruction by Height |
380. Insert Delete GetRandom O(1) | 332. Reconstruct Itinerary |
368. Largest Divisible Subset | 377. Combination Sum IV |
322. Coin Change | 307. Range Sum Query - Mutable |
287. Find the Duplicate Number | 279. Perfect Squares |
275. H-Index II | 274. H-Index |
260. Single Number III | 240. Search a 2D Matrix II |
238. Product of Array Except Self | 229. Majority Element II |
222. Count Complete Tree Nodes | 215. Kth Largest Element in an Array |
198. House Robber | 153. Find Minimum in Rotated Sorted Array |
150. Evaluate Reverse Polish Notation | 144. Binary Tree Preorder Traversal |
137. Single Number II | 130. Surrounded Regions |
129. Sum Root to Leaf Numbers | 120. Triangle |
102. Binary Tree Level Order Traversal | 96. Unique Binary Search Trees |
75. Sort Colors | 74. Search a 2D Matrix |